/***********************************************
 @Name :        小谭老师
 @Time :        2025-2-22
 @Email :       tan.zhipeng@outlook.com
 @Comment :     功能窗口 智能家居
 @FileName :    widget_funcc_smart_home.cpp
 @Version :     1.0
************************************************/

#include "widget_funcc_smart_home.h"
#include "ui_widget_funcc_smart_home.h"
#include <QDebug>

Widget_funcC_Smart_Home::Widget_funcC_Smart_Home(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget_funcC_Smart_Home)
{
    ui->setupUi(this);
    // 摄像头
    // 创建 QCamera 和 QCameraViewfinder​
    QVBoxLayout *vlayout_camera=new QVBoxLayout(ui->widget_8);
    camera=new CameraWidget();
    vlayout_camera->addWidget(camera);
    camera->setWindowTitle("Qt5摄像头示例");
    camera->setFixedSize(238, 280);
    camera->show();
    
       // 垂直布局
    QVBoxLayout *vlayout_1=new QVBoxLayout(ui->widget_return_home);
    control_ui_1=new SmartHomeControl(ui->widget_return_home);
    vlayout_1->setMargin(0);
    control_ui_1->set_label_1("归家");
    control_ui_1->set_label_3("");
    control_ui_1->set_label_4(QPixmap());
    vlayout_1->addWidget(control_ui_1);
    
    QVBoxLayout *vlayout_2=new QVBoxLayout(ui->widget_run_home);
    control_ui_2=new SmartHomeControl(ui->widget_run_home);
    vlayout_2->setMargin(0);
    control_ui_2->set_label_1("离开");
    control_ui_2->getButton()->setPixmap(QPixmap(":/状态按钮_开"));
    control_ui_2->set_label_3("");
    control_ui_2->set_label_4(QPixmap());
    vlayout_2->addWidget(control_ui_2);
    
    QVBoxLayout *vlayout_3=new QVBoxLayout(ui->widget_14);
    control_ui_3=new SmartHomeControl(ui->widget_14);
    vlayout_3->setMargin(0);
    control_ui_3->set_label_1("起床");
    control_ui_3->getButton()->set_start(true);
    control_ui_3->get_label_3()->setPixmap(QPixmap(":/窗帘开"));
    control_ui_3->get_label_3()->setFixedSize(40,40);
    control_ui_3->set_label_4(QPixmap(":/关灯"));
    control_ui_3->get_label_4()->setFixedSize(40,40);
    vlayout_3->addWidget(control_ui_3);
    
    QVBoxLayout *vlayout_4=new QVBoxLayout(ui->widget_16);
    control_ui_4=new SmartHomeControl(ui->widget_16);
    vlayout_4->setMargin(0);
    control_ui_4->set_label_1("睡觉");
    control_ui_4->get_label_3()->setPixmap(QPixmap(":/窗帘关"));
    control_ui_4->get_label_3()->setFixedSize(40,40);
    control_ui_4->set_label_4(QPixmap(":/开灯"));
    control_ui_4->get_label_4()->setFixedSize(40,40);
    vlayout_4->addWidget(control_ui_4);
    
    QVBoxLayout *vlayout_5=new QVBoxLayout(ui->widget_4);
    control_ui_5=new SmartHomeControl(ui->widget_4);
    vlayout_5->setMargin(0);
    control_ui_5->set_label_1("OFF");
    control_ui_5->set_label_3("扫地机");
    control_ui_5->set_label_4(QPixmap(":/扫地机器人_0"));
    vlayout_5->addWidget(control_ui_5);
    
    QVBoxLayout *vlayout_6=new QVBoxLayout(ui->widget_5);
    control_ui_6=new SmartHomeControl(ui->widget_5);
    vlayout_6->setMargin(0);
    control_ui_6->set_label_1("OFF");
    control_ui_6->set_label_3("扫地机");
    control_ui_6->set_label_4(QPixmap(":/扫地机器人_0"));
    vlayout_6->addWidget(control_ui_6);
    
    QVBoxLayout *vlayout_7=new QVBoxLayout(ui->widget_6);
    control_ui_7=new SmartHomeControl(ui->widget_6);
    vlayout_7->setMargin(0);
    control_ui_7->set_label_1("OFF");
    control_ui_7->set_label_3("扫地机");
    control_ui_7->set_label_4(QPixmap(":/扫地机器人_0"));
    vlayout_7->addWidget(control_ui_7);
    
    QVBoxLayout *vlayout_8=new QVBoxLayout(ui->widget_17);
    control_ui_8=new SmartHomeControl(ui->widget_17);
    vlayout_8->setMargin(0);
    control_ui_8->set_label_1("OFF");
    control_ui_8->set_label_3("扫地机");
    control_ui_8->set_label_4(QPixmap(":/扫地机器人_0"));
    vlayout_8->addWidget(control_ui_8);
    
    QVBoxLayout *vlayout_9=new QVBoxLayout(ui->widget_18);
    control_ui_9=new SmartHomeControl(ui->widget_18);
    vlayout_9->setMargin(0);
    control_ui_9->set_label_1("OFF");
    control_ui_9->set_label_3("扫地机");
    control_ui_9->set_label_4(QPixmap(":/扫地机器人_0"));
    vlayout_9->addWidget(control_ui_9);
    
    QVBoxLayout *vlayout_10=new QVBoxLayout(ui->widget_19);
    control_ui_10=new SmartHomeControl(ui->widget_19);
    vlayout_10->setMargin(0);
    control_ui_10->set_label_1("OFF");
    control_ui_10->set_label_3("扫地机");
    control_ui_10->set_label_4(QPixmap(":/扫地机器人_0"));
    vlayout_10->addWidget(control_ui_10);
    
    // 音乐播放器
    music_list_box=new PlayListWindow();
    musicplayer_box=new MusicPlayer(music_list_box);
    
    QVBoxLayout *vlayout_musicplayer=new QVBoxLayout(ui->widget_9);
    QVBoxLayout *vlayout_music_list=new QVBoxLayout(ui->widget_20);
    vlayout_musicplayer->setMargin(1);
    vlayout_music_list->setMargin(4);
    vlayout_musicplayer->addWidget(musicplayer_box);
    vlayout_music_list->addWidget(music_list_box);
    
    
    // 连接按钮信号
    connect(control_ui_1->getButton() , &Button_home_start::signals_start , this , &Widget_funcC_Smart_Home::slots_button_start);
    connect(control_ui_2->getButton() , &Button_home_start::signals_start , this , &Widget_funcC_Smart_Home::slots_button_start);
    connect(control_ui_3->getButton() , &Button_home_start::signals_start , this , [&](bool start){
        if(start){
            control_ui_3->get_label_3()->setPixmap(QPixmap(":/窗帘开"));
            control_ui_3->set_label_4(QPixmap(":/关灯"));
            control_ui_3->set_label_1("起床");
        }else{
            control_ui_3->get_label_3()->setPixmap(QPixmap(":/窗帘关"));
            control_ui_3->set_label_4(QPixmap(":/开灯"));
            control_ui_3->set_label_1("睡觉");
        }
    });
    connect(control_ui_5->getButton() , &Button_home_start::signals_start , this , [&](bool start){
        if(start){
            control_ui_5->set_label_4(QPixmap(":/扫地机器人_1"));
            control_ui_5->set_label_1("ON");
        }else{
            control_ui_5->set_label_4(QPixmap(":/扫地机器人_0"));
            control_ui_5->set_label_1("OFF");
        }
    });
}

Widget_funcC_Smart_Home::~Widget_funcC_Smart_Home()
{
    delete ui;
    
}

// // 请求音乐数据的响应
// void Widget_funcC_Smart_Home::onMusicReplyFinished(QNetworkReply *reply)
// {
//     if (reply->error() != QNetworkReply::NoError) {
//         qDebug()<< "请求失败!";
//         reply->deleteLater();
//         return;
//     }
    
//     QByteArray data = reply->readAll();
//     reply->deleteLater();
    
//     QJsonParseError parseError;
//     QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &parseError);
    
//     if (parseError.error != QJsonParseError::NoError) {
//         qDebug()<< "json解析错误";
//         return;
//     }
//     bool isSuccess;
//     // 解析音乐信息
//     songs=MusicJsonParser::parseMusicJson(jsonDoc.object(),isSuccess);
    
//     qDebug()<< songs.first().artist();
// }


void Widget_funcC_Smart_Home::slots_button_start(bool start)
{
    
    QObject * temp = sender();
    // 离开
    if(temp == control_ui_2->getButton())
    {
        // 离家开
        control_ui_2->getButton()->set_start(start);
        // 归家关
        control_ui_1->getButton()->set_start(!start);
    }
    // 归家
    if(temp == control_ui_1->getButton())
    {
        // 离家开
        control_ui_1->getButton()->set_start(start);
        // 归家关
        control_ui_2->getButton()->set_start(!start);
    }
}

void Widget_funcC_Smart_Home::slots_button_send_message()
{
    // 增加一个widget  内部包含
    
}
